1. Field of the Invention
The present invention relates generally to a system and method for providing improved performance of Internet protocols over wireless connections, and more specifically, to a system and method for improving performance of Internet protocols by preventing TCP/IP congestion avoidance mode as a result of errors in the wireless connection.
2. Related Art
Current trends indicate a significant increase in the use of mobile computing devices such as auto PCs, personal digital assistants (PDAs) and the like. Accordingly, there is an increasing demand for fast and reliable wireless communication links to computer networks, such as the Internet.
The problem is that current communication techniques using TCP/IP protocol suites have proven to be troublesome when used in wireless networks. This is primarily due to the fact that TCP/IP was originally designed to be used with hard-wired or xe2x80x9cfixedxe2x80x9d transmission links rather than wireless radio links.
Specifically, the TCP/IP suite of protocols was designed for environments using highly reliable transmission media with very low bit error rates (BER). Thus, TCP/IP was designed with the assumption that the underlying physical connections used to transport the data were error-free. Consequently, TCP/IP assumes that low bandwidth conditions are caused by congestion, rather than problems related to the underlying transport media. Accordingly, TCP/IP responds to low bandwidth conditions (i.e. packet losses) by slowing down the transmission rate. This works well for wired networks but can be disastrous for wireless connections.
Typically, packet losses in wireless networks are not caused by congestion but are caused by high bit error rates due to weak and fading wireless transmission links. The quality of such wireless transmission links is affected by physical obstructions, weather conditions, atmospheric conditions, power failures, and the distance between cells (and density of cells) in a cellular network. In most cases, congestion avoidance (by stopping transmission for a period of time) during adverse conditions is an inappropriate response in a wireless network. Moreover, the resultant reduction in overall transmission rates during rapidly fading conditions only serves to further increase already existing bandwidth problems.
One of the built in error-correcting procedures used by TCP/IP is referred to as congestion avoidance mode. When packet losses are detected, TCP/IP enters into congestion avoidance mode, which causes an exponential reduction in the transmission rate. This procedure works well for fixed networks because the packet loss is almost always due to traffic congestion.
However, in a wireless network, where the packet loss is often due to rapidly fading conditions, a reduction in the transmission rate should be avoided at all costs. Entering into congestion avoidance mode only serves to increase problems and cause additional and unnecessary delays. Instead, during these conditions, throughput should be maintained and other forms of error correction techniques should be used.
Solutions to this problem have been proposed as is evidenced by the following publications: (1) R. Cxc3xa1ceres et al. xe2x80x9cImproving the Performance of Reliable Transport Protocols in Mobile Computing Environments,xe2x80x9d IEEE Journal on Selected Areas in Communications, Vol. 13, No. 5, June 1995; (2) P. Karn, xe2x80x9cThe Qualcomm CDMA digital Cellular System,xe2x80x9d Proceedings of the USENIX Molile and Location-Independent Computing Symposium, pp. 35-39, August 1993; (3) Hbalakrishnan et. al xe2x80x9cImproving Reliable Transport and Handoff Performance in Cellular Wireless Networks,xe2x80x9d Wireless Networks, Vol. 1, No. 4, pp 469-481, 1995; (4) J Saltzer et al. xe2x80x9cEnd-to-end Arguments in System Design,xe2x80x9d ACM Transactions on Computer System Design,xe2x80x9d ACM Transactions on Computer System (TOCS), Vol. 2, No. 4, pp. 277-288, 1984; and (5) B. R. Bandrinath et. al xe2x80x9cHandling Mobile Clients: A Case for Indirect Interaction,xe2x80x9d Proceddings of the 4th Workshop on Workstation Operating Systems, pp. 91-97, October 1993.
However, these conventional solutions require changes to the link layer to provide error free service to the transport layer. Further, current link layer error detection and correction schemes introduce additional delays due to the retransmission of data. Thus, using techniques, such as the sliding window protocols as suggested by (1) above, can still trigger congestion avoidance mode in TCP/IP.
Another approach is to offer limited link layer recovery, leaving complete recovery to the transport layer, as suggested by (2) above. The problem with this solution is that it doesn""t address TCP/IP congestion avoidance issue at all, it just delays its onset.
Yet another conventional approach, as suggested by (3) above, is to add a snoop agent to base station routing software. Using this approach, the snoop agent maintains a cache of unacknowledged base station-to-mobile station TCP packets. When a packet loss is detected (e.g. via duplicate acknowledgements or a local timeout), the snoop agent retransmits the lost packet, preventing congestion recovery by TCP. An acknowledgement from the mobile station allows the snoop agent to clean up its cache, update round trip time estimates, etc.
The problem is that these conventional approaches all require significant overhead in terms of software and design changes to current systems. For example, the snoop agent approach requires that IP multicast be implemented and used during cellular handoffs. Further, this solution requires that TCP be modified on the mobile station side. Still further, this and other conventional approaches violate protocol-layering principles by using information and messages in the transport layer for link layer purposes.
Accordingly, what is needed is a system and method for providing improved transmission rates using TCP/IP protocols over wireless networks that can be implemented without changing TCP/IP protocols and circumvents inappropriate occurrences of TCP congestion avoidance mode.
Accordingly, the present invention is directed toward a system and method for providing improved performance of Internet protocols over wireless networks. An advantage of the present invention is that it can be implemented entirely within the link layer of a protocol stack and does not affect any of the other layers. Another advantage of the present invention is that it responds appropriately to low-bandwidth conditions caused by weak and fading wireless connections by maintaining throughput and thereby circumvents inappropriate instances of TCP/IP congestion avoidance mode.
The present invention comprises at least one basic error-correcting/detecting service protocol and at least one robust error-detecting/correcting service protocol within the link layers of the mobile and base station""s protocol stacks. Communications are initiated using a well known basic error-detecting/correcting protocol, such as Link Access Protocol (LAP). During data communications, a quality of service monitor constantly monitors the signal quality, via a signal quality indicator, generally coupled to the physical layer. An example of a signal quality indicator is a data logger that maintains a log of bit error rates during data communications. Another example of a quality indicator is a channel quality estimator that can be used to predict a degradation of signal quality.
When the quality of service monitor detects that the signal quality falls (or is about to fall), below a predetermined threshold, the mobile station attempts to switch to the robust error-detecting/correcting service protocol to be used during weak conditions. An example of an robust error-detecting/correcting protocol is forward error correction (FEC) protocol.
To accomplish the changeover, the mobile station first determines whether the base station supports the switchable protocol feature of the present invention. If the feature is not supported, then the changeover is temporarily disabled. In this fashion, the present invention is transparent and fully compatible with conventional systems. Generally, the determination of whether the base station supports the changeover feature of the present invention is accomplished during the link establishment phase.
If the changeover feature of the present invention is supported, a switchover message is sent from the mobile station to the base station directing it to switch to the robust error-detecting/correcting protocol on the next frame (or a specified frame number). The mobile station and the base station switch to the robust error-detecting/correcting protocol, which is used during weak signal conditions. If the quality of service rises above a second predetermined threshold, the basic error-detecting/correcting protocol is restored in both the mobile and the base stations.